BI - Conhecimentos básicos

O que é?

Se você é um empresário sabe que gerenciar é sinônimo de medir. Se não tivermos uma 'medida' não temos como determinar se estamos indo ou voltando com os negócios da empresa.

Até mesmo na medicina, se você for ao médico uma das primeiras coisas que ele pede são os exames e aí, transformando seus 'problemas' em números, ele consegue 'diagnosticar' melhor seu problema e tomar a decisão mais acertiva para o seu problema.

BI é a sigla para Business Intelligence que compreende todos os serviços e processos que apoiam a gerencia da empresa no apoio a tomada de decisões mais acertivas baseadas em dados reais.
Para isto esta ferramenta fornece medidas ( dados ) que informam a gerência a condição dos negócios da maneira mais clara e consistente possível .

Se você analisar a maioria dos processos numa empresa verá que a maioria insere informações nas bases de dados e, se necessário, traz algumas informações para guiar as operações do dia-a-dia da empresa. Colocamos um monte de informações nas bases de dados mas o que realmente relevante é feito com essas informações armazenadas além de apoio as operações diárias ? É aqui que entra o BI, a ferramenta publica informações categorizadas, focadas em pontos de interesse dos negócios da empresa informando pontos chaves para tomada de decisão, como vendas, custos/despesas, atendimento a clientes .

O cenário do BI pode ser um simples melhoria de processos como o controle de vendas ou fluxo de caixa para pequenas empresas até datawarehouses/datamarts contendo informações de clientes, produtos, vendas, estoque, compras , etc para grandes empresas. Quanto maior o leque de informações maior seria o custo para produzir essas 'informações gerenciais' e aí é que o BI representa uma significativa redução de custos empresariais .

Outro critério importante em BI é que a geração das informações deve ser de maneira automática sem a interferência de outros agentes, de maneira automática. Tão importante quanto é a precisão, confiabilidade, segurança e clareza com que a informação é prestada.

A principal utilidade do BI é fornecer informações para que os executivos da empresa tenham uma noção do desempenho da empresa e com isto tomar medidas mais acertivas que as que seriam tomadas somente pela experiência profissional dos envolvidos.

Todos sabemos que a melhor maneira de gerenciar uma empresa é medindo seus resultados, guardando suas atividades e com esses dados, através de algumas pesquisas, guiar melhor os recursos da empresa no caminho certo.

Para criar essas 'guias' para os executivos da empresa o BI gera métricas, ou seja, medidas para que os empresários tenham ideia de como anda o desempenho de determinada atividade na empresa.

Para isto BI, dependendo da empresa e da solução implementada, é um conjunto de ferramentas de muitos fornecedores. Temos servidores sql, Web Servers, Report Servers tanto para o SQL Server como para o Power BIetc. que permitem publicar a informação, seja por e-mail, site ou qualquer outro recurso de publicação.

Note que tão importante quanto a publicação dessas informações é a segurança nelas embutida. Queremos sempre que só tais pessoas acessem a informação ou que tenha um usuário e senha para acessar a informação. Não queremos, por exemplo, que ao publicar um relatório na web um concorrente fique sabendo de suas atividades.

Outro ponto focal é a distribuição das informações obtidas. Quando a informação é gerada como ela entra em contato com o destinatário.
Pode ser que o destinatário abra o servidor web (IIS) com o Report Server e solicite a geração do relatório manualmente e instantâneamente.
Podemos associar ao relatório 'assinaturas' que enviam automaticamente o relatório gerado por e-mail para esses destinatários.

Resumindo podemos colocar no BI a inteligência da gestão dos negócios de maneira que não precisemos de especialistas para gerar as informações como a empresa precisa, com o foco e as 'medidas' que precisamos para gerir a empresa. Isto é uma grande redução de custos no gerênciamento da empresa.

Noções básicas

Uma faceta do sql que você deve conhecer é o OLTP (Online Transaction Processing ou Processamento de Transações Online) que é o apoio que a empresa tem de um banco de dados nas operações do dia-a-dia. Por exemplo, onde cadastro clientes, vendas, compras, etc? Tudo num servidor SQL. Onde eu busco as informações de um cliente, venda, produto, etc ? Da base de dados SQL.

Mas e se eu quiser saber qual foi a venda de um produto no ano passado na empresa ? Se você for no sql server, sua empresa for grande você simplesmente vai parar o servidor porque é uma pesquisa pesada, vai parar sua rede porque o volume de informações é grande. E note que se eu precisasse da mesma informação por trimeste, quadrimestre, semestre seriam outras pesquisas pesadissimas para o servidor processar.

Note que eu poderia processar essa informação num horário de pouco uso do servidor (de madrugada) e armazenar num local as informações consolidadas (Já que, por exemplo, vendas do ano passado não sofrem mais alterações, é um dado fixo). Assim quando eu precisasse delas elas estariam disponíveis lá. Esse é o caso do OLAP (Online Analytical Processing - Processamento Analítico Online). Os processos de OLAP fazem um processamento pesado quando o servidor está mais tranquilo e na hora que precisar a informação estará disponível. Elas sumarizam as informações para uso futuro em outros processos.
Se no OLTP eu tenho vendas diárias, no OLAP eu tenho vendas por mes, bimestre, trimeste, etc...seja qual for minha necessidade de negócio.

Um Datawarehouse ( ou DW ) é um servidor que armazena todas as informações da empresa ou, pelo menos, as fundamentais para 'entender' a empresa como um todo. As informações que não estão dentro dele deverão ser obtidas de servidores remotos o que limita, e muito, a troca de informações entre sistemas.

Um DataMart ( ou DM ) é uma 'divisão' do datawarehouse onde este só contenha um ou alguns itens, ou seja, se num DW eu teria todas as infos da empresa (clientes, vendas, produtos, etc..) no datamart eu teria uma ou outra info do datawarehouse, seria um complemento ou algo que não cabia mais no datawarehouse e foi colocado em outro servidor.
Os datamarts costumam ser dedicados a itens específicos como Vendas, Faturamento enquanto o datawarehouse costuma se abrangente, praticamente todas as informações da empresa.

Principais ferramentas de BI


SQL Services

O SQL Server é a ferramenta básica, tudo da empresa é registrado nele e dele tiraremos as informações que precisamos.

No SQL Server da Microsoft podemos instalar o SQL Server Analysis Services que permite fazer todas as operações de OLAP necessárias em qualquer empresa ( pequena ou grande ) , com todos os tipos de fontes de dados (de Excel a Teradata).

No servidor MS SQL Server podemos instalar também o serviço de Report Services que gera relatórios automaticamente e os envia por email ou permite que sejam exportados tanto para pdf quanto para um excel ( entre muitos tipos de publicação ). Devido ao empenho da Microsoft de publicar um leque completo de itens gratuitos para BI ela se tornou a lider mundial em BI. Você pode baixar gratuitamente a ferramenta chamada 'Report Builder' que permite criar e publicar relatórios como se fosse um 'excel' 'customizado'. Outras ferramentas como o Power BI também são muito simples e poderosas para criar relatórios e gráficos e dependendo da solução a ser implementada são boas escolhas.


Report Services

Esse cara você pode tirar o chapéu. Com a licença do MS SQL Server você ganha o direito de instalar o 'Report Server para SQL Server'.

Para que ele funcione na sua máquina você precisa simplesmente colocar o IIS Server para funcionar e depois instalar esse serviço. Note que o serviço do Report Server roda sobre o IIS e não precisa ser no servidor SQL, pode ser em qualquer máquina que tenha conectividade com o servidor MS SQL.

Ele permite fazer consultas cabeludas, separar, agrupar, fazer operações e exibir as informações do sql server em relatórios onde praticamente não há limites ou restrições para sua elaboração. Pode ser um parecido com o Excel, um pie-char estiloso, um gráfico de barras cheio de recursos do tipo, clicando é feito um drill-down ( em grosso modo, exibe os detalhes do item) no dado clicado. Com o seu maior aliado, o MS SQL Agent, ele é capaz de gerar relatórios e enviar eles seja de que maneira que sua empresa precise.

Importante frisar que a segurança do Report-Server para MS SQL Server é feita pelo gerenciamento de contas de um domínio, pela segurança local da máquina ou ainda de um usuário no sql server.

Report Services para o Power-BI

Infelizmente esta ferramenta não é gratuita, mas representa um alto ganho na interatividade do usuário com os relatórios gerados. Contudo existe diversos licenciamentos ao alcance de qualquer empresa ( veja : Detalhes de licenciamento).

Com o power-BI na web podemos abrir um relatório, clicar num item e o relatório se atualizar automaticamente mostrando um detalhe ( como um drill-down no sql ) mostrando as particularidades do resultado exibido anteriormente.


Diferenças entre o Report-Server e o Report-Server-Power BI

No Report-Server do MS SQL ao pressionar um controle no relatório emitiria uma solicitação ao servidor IIS que gerou o relatório e aí o servidor IIS processaria a solicitação e enviaria o resultado de volta ao browser do cliente. Note que tem um vai-e-volta com o conteúdo do relatório no servidor de relatórios e isto normalmente é muito mais lento que o Power-BI.

O Power-BI tem um método de funcionamento diferente : Ele carrega todas as informações que precisa para gerar o relatório dentro do próprio relatório Power-BI.

Trazer os dados para dentro do relatório é uma boa em matéria de interatividade com o cliente (browser) pois como o relatório não é enviado para o servidor IIS novamente ganhamos muito tempo e as interações respondem mais rápidas tornando a 'interação' com o relatório mais eficiente.
Contudo, como os dados são carregados no relatório os relatórios tendem a ficar 'pesados' se o tamanho desses dados for relativamente grande e na atualização desses dados pode se tornar um pouco demorada.

Importante : Você pode instalar o Report Server para o Power-BI na sua máquina gratuitamente e utilizar ele por 6 meses. Recomendo muito que faça isso mesmo que seja só para estudar.

O 'Report Server para SQL Server' parece muito com o 'Report Server para Power BI' em tudo porque são ferramentas irmãs, tanto na instalação como na operação. Mas o que parece muito igual na realidade é bem diferente, operacionalmente falando.

Diferenças na Autoria e Publicação dos Relatórios

Se você baixar e instalar o 'Power BI DESKTOP' em sua máquina vai poder desenvolver os relatórios do Power-BI em sua máquina sem qualquer restrição a este desenvolvimento.

Contudo, publicar é outra coisa.

Se você tem uma conta de um serviço Power-BI na nuvem você está utilizando a conta gratuíta ou está pagando por isso. Veja : Custo licença Power BI

Para estudar o Gratuito está ótimo. Contudo a Microsoft pensa que se você está publicando é com a intenção de mostrar para alguém e nesse sentido ela exige para o cadastro nesse serviço exige uma conta de email corporativa, ou seja, seu email tipo @hotmail, @gmail não será aceito. Não me pergunte como a Microsoft sabe que eu não trabalho para ela ou para a google, mas eles barram os e-mails de servidores gratuitos.

Se você tem uma conta power-bi paga na nuvem basta gerar o relatório, clicar em publicar, digitar o usuário e senha do seu serviço da nuvem e o relatório é enviado com grande facilidade e rapidez.

Atualização das Informações

Se você usa o Report-Server para MS SQL Server cada vez que abre o relatório ele vai no servidor SQL Server e busca as informações e atualiza o relatório. Isto se você não colocar um período de retenção dos dados. Se você colocar o serviço de retenção de dados do relatório por um período, por exemplo, 2 horas, uma pessoa entrando agora irá fazer a atualização das informações e por 2 horas todos que pedirem para gerar o relatório o servidor do Report Server usará as informações do cache e exibirá o mesmo relatório gerado anteriormente.

Se você usa o Report Server para Power-BI poderá contar com 2 tipos de atualização: A por períodos e a por detecção de alterações.
A mais comum é por período onde você determina o horário inicial, o final das publicações bem como um intervalo de tempo entre cada publicação. A publicação tem uma restrição onde só pode ser feita 6 vezes ao dia mas é mais que suficiente para a maioria dos casos. Para a atualização automática dos dados você precisará instalar um aplicativo chamado LiveConnect na máquina que gerou o relatório e no console de estilos do Power-BI determinar qual o período que deseja atualizar.

Quanto a segurança do Report-Server para Power-BI a coisa é feita em um nível bem mais restrito porque as informações estão dentro do relatório do próprio Power-BI e como muitas vezes está na nuvem as credenciais do usuário para acessar o serviço ou são enviadas para o Report-Server para Power-BI ou podemos criar uma credencial de acesso para o relatório. Contudo é muito complicado quando temos muitos relatórios feitos para muitos usuários.
Ainda podemos enviar um link com a chave de acesso embutida nele e ao clicar nesse link o usuário deverá digitar ó usuário e senha para acessar o relatório.

Ainda falando sobre a segurança das informações no Power-BI podemos definir que credenciais podem acessar quais objetos. Sendo assim podemos criar um usuário funcionário da empresa que 'enxerga' o relatório por completo e um usuário genérico ( os clientes da empresa, por exemplo ) que podem ver o mesmo relatório mas podemos definir que certas colunas são restritas a ele e ele não as verá. Isso é muito bom para a LGPD.